The present invention concerns a method which allows for bus contention resolution over extended distances without increasing a standard protocol time-constant used during arbitration.
In one category of network architectures, network devices are connected to a common communication bus. When one of the network devices desires to initiate a transfer of data over the bus, the network device will attempt to gain control of the bus. Once the network device has control of the bus, the transfer of data may be performed.
In general, only one network device may have control of the bus at any one time. When two or more network devices simultaneously desire to gain control of the communication bus, some type of contention resolution scheme is required to assure that only one network device will gain control of the communication. Contention resolution may be done in a number of ways. For example, once the communication bus is free, control of the communication bus may be granted to the first network device that requests bus control. Alternately, control of the communication may be granted to the network device which has a highest priority among network devices which have requested bus access during a particular period of time. The relative priority of the network devices may be permanently assigned or may be variable based on one or more parameters.
For example, the Small Computer Standard Interface (SCSI) is an input/output (I/O) interface connection used for personal computers. SCSI was originated as a disk memory interface and became a universal high speed I/O protocol. In communication bus systems which operate in accordance with the SCSI protocol, SCSI devices connected to a communication bus have a fixed network access priority. In the SCSI bus protocol, contention resolution is accomplished by granting bus control to the SCSI device which has the highest networ access priority among the SCSI devices which, during an arbitration time period, request control of the communication bus.
More specifically, according to the SCSI protocol, after a specific period in which the communication bus is free, each SCSI device desiring control of the bus asserts its ID code on one of eight wire-or'ed data bus lines and asserts the BSY control signal. The SCSI bus protocol uses negative true, therefore, when discussing the SCSI bus protocol herein, what is meant by assertion is placing a logic 0 on a line (In protocols with a positive true, assertion generally means placing a logic 1 on a line). The network access priority for each SCSI device is determined by its ID code. The SCSI devices wait for an arbitration period of 2.4 microseconds. The arbitration period begins upon the first assertion of the BSY control signal by one of the SCSI devices. After the arbitration period, the SCSI devices evaluate the signals on the data bus lines. The SCSI device with the highest ID is granted control of the communication bus. The SCSI device having gained control of the bus asserts the SEL control signal. The other SCSI devices must release the BSY signal and wait for the communication bus to be free before they can try again.
Hardware implementation of a communication bus which uses the SCSI protocol is generally done using a 50 conductor flat ribbon or round bundle cable of characteristic impedance of 100 ohm. The nominal distance is six meters in single ended mode and 25 meters in differential mode. For more information on the SCSI protocol, see the American National Standard for SCSI-2, available as Document X3.131-199X from Global Engineering Documents, 2805 McGaw, Irvine, Calif. 92714. For the purposes herein, a SCSI bus is a bus system which conforms with the SCSI-2 protocol defined by this standard.
When attempting to utilize protocols such as the SCSI-2 protocol over an extended distance, transmission delay of signals between bus segments can cause malfunctioning of the contention resolution. For example, in a SCSI system with an arbitration time period of 2.4 microseconds, when transmission delay between bus segments is greater than 1.2 microseconds, a first SCSI device with a low priority access ID may not detect the assertion of a higher priority access ID by a second SCSI device with a higher priority access ID processor during the arbitration period. Concurrently, the second SCSI device may not make a timely detection of the assertion of the SEL control line by the first network. Consequently, both the first SCSI device and the second SCSI device may concurrently assert control over the communication bus.